// 子模块moduleA路径：store/modules/moduleA.js 
export default {
    namespaced:true,
    state: {
        token:''
    },
    getters: {},
    mutations: {
        setToken(state,payload){
            state.token = payload
        }
    },
    actions: { 
        // 设置token
        // {commit}写法上等于store.commit
        async fetchToken({commit}){
            // 调用uni.getUserProfile获取用户信息和微信临时凭据来发请求换取token
            // 1.调用uni.getUserProfile获取用户信息
            const [err,{encryptedData,rawData,iv,signature}]=await uni.getUserProfile({desc:'为了更好的服务用户'})
            // console.log(encryptedData,rawData,iv,signature);

            // 2.获取微信临时凭据
            const [err2,{code}] = await uni.login()
            console.log(code);

            // 3 发请求获取token  后端没有写好代码！！ 正常是每一次获取都是ok！！！
            // 以点击两次 为准
            const {token} = await uni.$u.http.post("/users/wxlogin",{
                encryptedData,rawData,iv,signature,code
            })
            console.log(token);

            // 4.设置token
            commit('setToken',token)
        }
    }
}